package com.project.frba.bi.descriptor;

import java.util.Collection;

import javax.xml.xpath.XPathExpressionException;

import org.w3c.dom.Document;
import org.w3c.dom.Node;


public interface Descriptor {
	
	public String getFilePath();
	
	public String getDescriptorName();
	
	public String getLabel();

	public Collection<Dimension> getDimensions();

	public String getFacttable();
	
	public Collection<Property> getProperties();
	
	public String getMetric();
	
	public Class getMetricType();

	public Document getDescriptorDocument();

	public Node getNode(String xpath) throws XPathExpressionException;
	
	public void load();

	public void addDimension(Dimension dimension);

	public Property getPropertyByName(String propertyName);
	
	public Collection<Property> getRowDefaultProperties();
	
	public Collection<Property> getColumnDefaultProperties();
	
	public Boolean hasPermission(String userPrivilege);
	
	public String getFormatterClassName();
	
	public Integer getCurrencyType();
}
